<!doctype html>
<html lang="en">

  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Linux 常用命令 - 慧林淘友之达人助手</title>
    <meta name="HandheldFriendly" content="True">
    <meta name="MobileOptimized" content="320">
    <meta name="referrer" content="no-referrer">
    <meta name="description" content="慧林淘友之达人助手:交流与建议、BUG反馈。">
    <meta property="og:site_name" content="慧林淘友之达人助手" />
    <meta property="og:locale" content="nn_NO" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="https://www.lyhuilin.com/posts/linux_cmd/" />
    <meta property="og:title" content="Linux 常用命令" />
    <meta property="og:image" content="https://www.lyhuilin.com/apple-touch-icon.png" />
    <meta property="og:description" content="慧林淘友之达人助手:交流与建议、BUG反馈。" />

    

    <meta property="twitter:title" content="Linux 常用命令" />
    <meta property="twitter:image" content="https://www.lyhuilin.com/apple-touch-icon.png" />
    <meta property="twitter:card" content="summary" />
    <meta property="twitter:description" content="慧林淘友之达人助手:交流与建议、BUG反馈。" />

    

    <link rel="canonical" href="https://www.lyhuilin.com/posts/linux_cmd/">

    <link href="//cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
          rel="stylesheet"
          integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x"
          crossorigin="anonymous" />

    <link rel="stylesheet" href="https://www.lyhuilin.com/css/main.css" />

    

    

    <link rel="shortcut icon"
          href="https://www.lyhuilin.com/favicon.ico">

    <link href='' rel="alternate" type="application/rss+xml" title="慧林淘友之达人助手" />
    <link href="//fonts.googleapis.com/css?family=Fira+Code|Merriweather+Sans:400,700|Merriweather:400,700&display=swap"
    rel="stylesheet">

<style>
    :root {
        --font-code: "Fira Code", monospace;
        --font-content: "Merriweather", serif;
        --font-title: "Merriweather Sans", sans-serif;
    }
</style>
<script>
    var _hmt = _hmt || [];
    (function () {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?d4f2e101b391ba33a192c215809ef30f";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
  </head>

  <body>
    
  

<div class="my-4 my-md-5 header">
  <div class="container">
    <div class="row">
      <div class="col-auto offset-lg-1 d-none d-md-block">
        
          <a href="https://www.lyhuilin.com/">
            <img class="logo" src="https://www.lyhuilin.com/apple-touch-icon.png" alt="logo">
          </a>
        
      </div>
      <div class="col-auto align-self-center mr-auto">
        <a class="text-decoration-none" href="https://www.lyhuilin.com/">
          <h1 class="font-weight-bold name">
            慧林淘友之达人助手
          </h1>
        </a>

        <ul class="nav nav-primary">
          
            <li class="nav-item">
              <a class="text-uppercase nav-link text-home" href="/">
                
                Home
              </a>
            </li>
          
            <li class="nav-item">
              <a class="text-uppercase nav-link text-blog" href="https://3ae.cn">
                
                Blog
              </a>
            </li>
          
            <li class="nav-item">
              <a class="text-uppercase nav-link text-gitee" href="https://gitee.com/lyhuilin">
                
                Gitee
              </a>
            </li>
          
            <li class="nav-item">
              <a class="text-uppercase nav-link text-donations" href="/donations">
                
                Donations
              </a>
            </li>
          
            <li class="nav-item">
              <a class="text-uppercase nav-link text-Download" href="/download">
                
                Download
              </a>
            </li>
          
            <li class="nav-item">
              <a class="text-uppercase nav-link text-support" href="https://support.qq.com/products/65159">
                
                Support
              </a>
            </li>
          

          
        </ul>

        <ul class="nav nav-secondary">
          
        </ul>
      </div>
    </div>
  </div>
</div>


  <div class="content">
    <div class="container">
      <div class="row justify-content-center">
        <div class="col-md-12 col-lg-10">
          <h1 class="mx-0 mx-md-4">
            Linux 常用命令
          </h1>
          <div class="markdown">
            
  <p>Linux 常用命令</p>
<h3 id="日期">日期</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#66d9ef">$(</span>date -d <span style="color:#e6db74">&#39;1 day ago&#39;</span> <span style="color:#e6db74">&#39;+%Y-%m-%d&#39;</span><span style="color:#66d9ef">)</span>
</span></span></code></pre></div><p>常用方法</p>
<h3 id="数字格式化">数字格式化</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>part<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>printf <span style="color:#e6db74">&#34;%03d&#34;</span> $i<span style="color:#e6db74">`</span> <span style="color:#75715e"># 左补0</span>
</span></span></code></pre></div><h3 id="删除旧文件">删除旧文件</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 找出5天前修改的文件名以.tar结尾的文件进行删除</span>
</span></span><span style="display:flex;"><span>find /www/backup -mtime +5 -name <span style="color:#e6db74">&#34;*.tar&#34;</span>  |xargs rm
</span></span></code></pre></div><h3 id="for循环">for循环</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> <span style="color:#f92672">((</span>i<span style="color:#f92672">=</span>0;i&lt;10;i++<span style="color:#f92672">))</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>_date<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>date +%Y-%m-%d -d <span style="color:#e6db74">&#34;</span><span style="color:#e6db74">${</span>i<span style="color:#e6db74">}</span><span style="color:#e6db74"> day&#34;</span><span style="color:#66d9ef">)</span>
</span></span><span style="display:flex;"><span>echo $_date
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">done</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">#</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> i in <span style="color:#f92672">{</span>1..10<span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>        echo $i
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">done</span>
</span></span></code></pre></div><h3 id="文件合并">文件合并</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>find ./ -name <span style="color:#e6db74">&#34;item*&#34;</span> | xargs sed <span style="color:#e6db74">&#39;a\&#39;</span> &gt; all.txt
</span></span><span style="display:flex;"><span>find ./ -name <span style="color:#e6db74">&#34;item*&#34;</span> | xargs cat &gt; all.txt
</span></span><span style="display:flex;"><span>:s/old/new           <span style="color:#75715e">#替换当前行的第一个old为new</span>
</span></span><span style="display:flex;"><span>:s/old/new/g         <span style="color:#75715e">#替换当前行的所有的old为new</span>
</span></span><span style="display:flex;"><span>:.,$s/old/new        <span style="color:#75715e">#替换当前行到最后行的第一个old为new</span>
</span></span><span style="display:flex;"><span>:.,$s/old/new/g      <span style="color:#75715e">#替换当前行到最后行的所有old为new</span>
</span></span><span style="display:flex;"><span>:N,Ms/old/new        <span style="color:#75715e">#替换第N行到第M行的第一个old为new</span>
</span></span><span style="display:flex;"><span>:N,Ms/old/new/g      <span style="color:#75715e">#替换第N行到第M行的所有old为new</span>
</span></span><span style="display:flex;"><span>:N,Ms/old/new/gc     <span style="color:#75715e">#替换第N行到第M行的所有old为new，且逐一询问是否删除</span>
</span></span><span style="display:flex;"><span>:%s/old/new          <span style="color:#75715e">#替换所有行的第一个old为new</span>
</span></span><span style="display:flex;"><span>:%s/old/new/g        <span style="color:#75715e">#替换所有行的所有old为new</span>
</span></span></code></pre></div><h3 id="文件排序交集并集差集">文件排序、交集、并集、差集</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e">#排序</span>
</span></span><span style="display:flex;"><span>sort a.txt |uniq -c
</span></span><span style="display:flex;"><span><span style="color:#75715e">#一、交集</span>
</span></span><span style="display:flex;"><span>sort a.txt b.txt | uniq -d
</span></span><span style="display:flex;"><span><span style="color:#75715e">#二、并集</span>
</span></span><span style="display:flex;"><span>sort a.txt b.txt | uniq
</span></span><span style="display:flex;"><span><span style="color:#75715e">#三、差集 a.txt-b.txt:</span>
</span></span><span style="display:flex;"><span>sort a.txt b.txt b.txt | uniq -u
</span></span><span style="display:flex;"><span><span style="color:#75715e">#差集 b.txt - a.txt:</span>
</span></span><span style="display:flex;"><span>sort b.txt a.txt a.txt | uniq -u
</span></span></code></pre></div><h3 id="删除重复行">删除重复行</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sort -k2n all.txt | uniq &gt; real.out
</span></span><span style="display:flex;"><span>sort -k2n all.txt | awk <span style="color:#e6db74">&#39;{if ($0!=line) print;line=$0}&#39;</span>
</span></span><span style="display:flex;"><span>sort -k2n all.txt | sed <span style="color:#e6db74">&#39;$!N; /^\(.*\)\n\1$/!P; D&#39;</span>
</span></span></code></pre></div><h3 id="删除空格">删除空格</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cat all.txt |sed s/<span style="color:#f92672">[[</span>:space:<span style="color:#f92672">]]</span>//g
</span></span></code></pre></div><h3 id="awk-去重">awk 去重</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>awk <span style="color:#e6db74">&#39;!($1 in a){a[$1];print $1}&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">#或</span>
</span></span><span style="display:flex;"><span>sort $1 | uniq 
</span></span><span style="display:flex;"><span><span style="color:#75715e"># awk结果使用逗号间隔拼接</span>
</span></span><span style="display:flex;"><span>awk -F <span style="color:#e6db74">&#39;,&#39;</span> <span style="color:#e6db74">&#39;{print $1}&#39;</span> | xargs | tr <span style="color:#e6db74">&#39; &#39;</span> <span style="color:#e6db74">&#39;,&#39;</span>
</span></span></code></pre></div><h3 id="常用状态查看">常用状态查看</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 按CPU和内存倒序前n个进程</span>
</span></span><span style="display:flex;"><span>ps -aux --sort -pcpu,+pmem | head -n <span style="color:#ae81ff">5</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 按进程名查看</span>
</span></span><span style="display:flex;"><span>ps -f -C java
</span></span></code></pre></div><h3 id="文件同步rsync">文件同步rsync</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>rsync -zvrtopgl --progress --delete /fromDist/ root@s1:/toDist/
</span></span></code></pre></div><h3 id="链接状态统计">链接状态统计</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>netstat -n | awk <span style="color:#e6db74">&#39;/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># TCP连接状态详解 </span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># LISTEN: 服务器在侦听来自远方的TCP端口的连接请求</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># SYN-SENT: 在发送连接请求后等待匹配的连接请求</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># SYN_RECV: 一个连接请求已经到达，等待确认</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># SYN-RECEIVED: 再收到和发送一个连接请求后等待对方对连接请求的确认</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># ESTABLISHED: 代表一个打开的连接/正常数据传输状态/当前并发连接数</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># FIN_WAIT1: 等待远程TCP连接中断请求，或先前的连接中断请求的确认/应用说它已经完成</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># FIN_WAIT2: 从远程TCP等待连接中断请求/另一边已同意释放</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># CLOSE-WAIT: 等待从本地用户发来的连接中断请求</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># CLOSING: 等待远程TCP对连接中断的确认/两边同时尝试关闭</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认/等待所有分组死掉</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认/另一边已初始化一个释放</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># ITMED_WAIT:  等待所有分组死掉</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># CLOSED： 没有任何连接状态</span>
</span></span></code></pre></div><h3 id="cpu内存系统信息查看">CPU/内存/系统信息查看</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># cpu</span>
</span></span><span style="display:flex;"><span>grep <span style="color:#e6db74">&#34;model name&#34;</span> /proc/cpuinfo 
</span></span><span style="display:flex;"><span>cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
</span></span><span style="display:flex;"><span>cat /proc/cpuinfo | grep physical | uniq -c
</span></span><span style="display:flex;"><span><span style="color:#75715e"># cpu位数</span>
</span></span><span style="display:flex;"><span>echo $HOSTTYPE
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 内存</span>
</span></span><span style="display:flex;"><span>grep MemTotal /proc/meminfo 
</span></span><span style="display:flex;"><span><span style="color:#75715e"># linux 版本</span>
</span></span><span style="display:flex;"><span>cat /etc/redhat-release
</span></span><span style="display:flex;"><span>cat /etc/os-release
</span></span><span style="display:flex;"><span>cat /etc/lsb-release
</span></span><span style="display:flex;"><span><span style="color:#75715e"># linux 内核版本</span>
</span></span><span style="display:flex;"><span>uname -a 
</span></span><span style="display:flex;"><span>uname -r
</span></span></code></pre></div><h3 id="常用监控工具">常用监控工具</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 网络监控</span>
</span></span><span style="display:flex;"><span>iftop
</span></span><span style="display:flex;"><span><span style="color:#75715e"># IO监控</span>
</span></span><span style="display:flex;"><span>iotop
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 负载监控</span>
</span></span><span style="display:flex;"><span>htop
</span></span><span style="display:flex;"><span>top
</span></span></code></pre></div><h3 id="进程监控">进程监控</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>pidstat -p <span style="color:#ae81ff">843</span> <span style="color:#ae81ff">1</span> <span style="color:#ae81ff">3</span> -u -t
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -u：代表对 CPU 使用率的监控</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 参数 1 3 代表每秒采样一次，一共三次</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -t：将监控级别细化到线程</span>
</span></span></code></pre></div><h3 id="ssh相关">ssh相关</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 秘钥生成</span>
</span></span><span style="display:flex;"><span>ssh-keygen -t rsa -b <span style="color:#ae81ff">4096</span> -C <span style="color:#e6db74">&#34;your_hostname&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 免密登录</span>
</span></span><span style="display:flex;"><span>cat ~/.ssh/id_rsa.pub | ssh  root@ip <span style="color:#e6db74">&#34;cat &gt;&gt; .ssh/authorized_keys&#34;</span>
</span></span></code></pre></div><h3 id="firewalld防火墙使用">firewalld防火墙使用</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 禁止ping</span>
</span></span><span style="display:flex;"><span>firewall-cmd --permanent --add-rich-rule<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;rule protocol value=icmp drop&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 允许192.168.1.0/24主机所有连接</span>
</span></span><span style="display:flex;"><span>firewall-cmd --add-rich-rule<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;rule family=&#34;ipv4&#34; source address=&#34;192.168.1.0&#34; accept&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 禁止某IP访问</span>
</span></span><span style="display:flex;"><span>firewall-cmd --permanent --zone<span style="color:#f92672">=</span>public --add-rich-rule<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;rule family=ipv4 source address=&#39;123.56.247.76/24&#39; reject&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 开放端口</span>
</span></span><span style="display:flex;"><span>firewall-cmd --zone<span style="color:#f92672">=</span>public --permanent --add-port<span style="color:#f92672">=</span>8080/tcp
</span></span><span style="display:flex;"><span>firewall-cmd --reload
</span></span></code></pre></div><h3 id="文件统计">文件统计</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>ls -g |awk <span style="color:#e6db74">&#39;BEGIN{sum=0}{sum+=$4}END{print sum/(1024*1024*1024)}&#39;</span>
</span></span></code></pre></div><h3 id="history格式及数量修改">history格式及数量修改</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>export HISTSIZE<span style="color:#f92672">=</span><span style="color:#ae81ff">10000</span>
</span></span><span style="display:flex;"><span>export HISTTIMEFORMAT<span style="color:#f92672">=</span><span style="color:#e6db74">&#34; %Y-%m-%d %H:%M:%S - `who am i 2&gt;/dev/null | awk &#39;{print </span>$NF<span style="color:#e6db74">}&#39;|sed -e &#39;s/[()]//g&#39;` - `who -u am i |awk &#39;{print </span>$1<span style="color:#e6db74">}&#39;` &#34;</span>
</span></span><span style="display:flex;"><span>export PROMPT_COMMAND<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;history 1 &gt;&gt; /var/log/.myhistory&#34;</span> <span style="color:#75715e">#将命令记录输出到文本中</span>
</span></span><span style="display:flex;"><span>touch /var/log/.myhistory
</span></span><span style="display:flex;"><span>chmod  /var/log/.myhistory
</span></span></code></pre></div>


          </div>
        </div>
      </div>
    </div>
  </div>

  <div class="my-4 footer">
  <div class="container">
    <div class="row justify-content-center">
      <div class="col-sm-12 col-md-6 col-lg-5">
        <div class="mx-0 mx-md-4 mb-2 text-center text-md-start">
          
            <div>
              <a class="mx-1 mr-md-2 ml-md-0 " href="https://beian.miit.gov.cn/">
                
                豫ICP备13005404号
              </a>
            </div>
          

          
            
              <a href="https://www.lyhuilin.com">白菜林</a>
            
          
        </div>
      </div>
      <div class="col-sm-12 col-md-6 col-lg-5">
        <div class="mx-0 mx-md-4 text-center text-md-end">
          

          

          
  <a href="https://github.com/clin003"
     target="_blank"
     class="mx-1 ml-md-2 mr-md-0 icon"
     aria-label="GitHub">

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
      <path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"/>
    </svg>
  </a>


          

          

          

          

          

          
  <a href="mailto:hi@lyhuilin.com"
     class="mx-1 ml-md-2 mr-md-0 icon"
     aria-label="Email">

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 16">
      <path d="M0 4v8c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1H1c-.55 0-1 .45-1 1zm13 0L7 9 1 4h12zM1 5.5l4 3-4 3v-6zM2 12l3.5-3L7 10.5 8.5 9l3.5 3H2zm11-.5l-4-3 4-3v6z"/>
    </svg>
  </a>


          <a href=''
   class="mx-1 ml-md-2 mr-md-0 icon"
   aria-label="RSS">

  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
    <path d="M12.8 16C12.8 8.978 7.022 3.2 0 3.2V0c8.777 0 16 7.223 16 16h-3.2zM2.194 11.61c1.21 0 2.195.985 2.195 2.196 0 1.21-.99 2.194-2.2 2.194C.98 16 0 15.017 0 13.806c0-1.21.983-2.195 2.194-2.195zM10.606 16h-3.11c0-4.113-3.383-7.497-7.496-7.497v-3.11c5.818 0 10.606 4.79 10.606 10.607z"/>
  </svg>
</a>


          
        </div>
      </div>
    </div>
  </div>
</div>



    <script src="//cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
            integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4"
            crossorigin="anonymous"></script>

    

    

    

    
    
  </body>

</html>
